package 剑指offer;


import java.util.StringJoiner;

/**
 * @author: tyy 剑指 Offer
 * 1816. 截断句子
句子 是一个单词列表，列表中的单词之间用单个空格隔开，且不存在前导或尾随空格。每个单词仅由大小写英文字母组成（不含标点符号）。
例如，"Hello World"、"HELLO" 和 "hello world hello world" 都是句子。
给你一个句子 s​​​​​​ 和一个整数 k​​​​​​ ，请你将 s​​ 截断 ​，​​​使截断后的句子仅含 前 k​​​​​​ 个单词。返回 截断 s​​​​​​ 后得到的句子。
示例 1：

输入：s = "Hello how are you Contestant", k = 4
输出："Hello how are you"
解释：
s 中的单词为 ["Hello", "how" "are", "you", "Contestant"]
前 4 个单词为 ["Hello", "how", "are", "you"]
因此，应当返回 "Hello how are you"
 * @create: 2021-12-24 17:40
 * @description:
 **/
public class Solution37 {
    public String truncateSentence(String s, int k) {
        StringJoiner sj = new StringJoiner(" ");
        String[] str  = s.split(" ");
        for(int i=0;i<k;i++) {
            sj.add(str[i]);
        }
        return sj.toString();
    }

    public String truncateSentence1(String s, int k) {
        String result = "";
        for (int i = 0; i < s.length(); i++) {
            String c = s.charAt(i) + "";
            if (c.equals(" ") && --k == 0) {
                break;
            }
            result += c;
        }
        return result;
    }
    public String truncateSentence2(String s, int k) {
        for (int i = 0; i < s.length(); i++)
            if (s.charAt(i) == ' ' && --k == 0)
                return s.substring(0, i);
        return s;
    }
    public static void main(String[] args) {
        String s = "Hello how are you Contestant";
        int k = 4;
        Solution37 solution26 = new Solution37();
        String num = solution26.truncateSentence(s, k);
        System.out.println("num = " + num);

    }
}
